#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "header.h"

int main()
{
  
  
  
  
    //test du codage simple avec clé (char)
  /*
  char c;
  int k;
  printf("hello \n Veuillez entrer un caractère svp (compris entre a et z) \n");
  scanf("%c", &c);
  printf("Merci, veuillez à présent entrer une clé entière : ");
  scanf("%d", &k);
  char d = CSKC(c, k);
  printf("Merci \n %c est codé en %c par la clé %d \n", c, d, k);
  printf(" Test décodage de %c par la clé %d : %c \n", d, k, DSKC(d,k));
  printf("Fin de l'exécution, au revoir \n");
  */
  
  /*
  //test du codage simple avec clé
  char s[1024];
  int k;
  printf("hello \nVeuillez entrer un mot svp \n");
  scanf("%s",s);
  printf("Merci, veuillez à présent entrer une clé entière : ");
  scanf("%d", &k);
  char* p = CSK(s,k);
  printf(" \"%s\" est codé en %s par la clé %d \n", s, p, k);
  printf("Test de décodage de %s par la clé %d : \"%s\" \n", p,k, DSK(p,k));
  printf("Fin de l'exécution, au revoir \n");
  */

  
 /* //Test codage changement de base avec clé (char)
  char c;
  char k;
  char d;
  printf("Hello, veuillez entrer un caractère et une clé sous forme de caractère svp \n");
  scanf("%c %c",&c, &k);
  d = CBKC(c,k);
  printf("\n Merci, %c est codé en %c par la clé %c \n", c,d,k);
  printf("Fin de l'exécution, au revoir \n");
  */
  
  
  
  
    //test du codage simple d'un mot avec clé (mot)
  char* s;  // l'utilisateur devra définir la taille du mot à coder avant d'entrer le mot
  char* k;  // idem pour la clé
  int size_w,size_k=0;

  printf("Hello,\nVeuillez à présent entrer la longueur du mot que vous souhaitez encoder :\n");
  scanf("%d", &size_w);              //saisie taille mot
  s=malloc(size_w*sizeof(char));          // initialisation du la chaine de caractère à la bonne taille
  printf("Merci, veuillez entrer un mot svp \n");  // saisie du mot
  scanf("%s",s);



 printf("Merci, veuillez à présent entrer la longueur de la clé de codage que vous allez entrer :\n");
 scanf("%d", &size_k);   // pareil que précédemment mais avec la clé du codage
 k=malloc(sizeof(char)*size_k);
 printf("Merci, veuillez à présent entrer la clé de codage :\n");
 scanf("%s", k);

 char* result = CBK(s,k);
 printf(" \"%s\" est codé en \"%s\" par la clé %s \n", s,result,k);     // test du codage du mot par la clé
 printf("Test de décodage de \"%s\" par la clé %s : \"%s\" \n", result,k, DBK(result,k));  // test du décodage du cryptage du mot par la clé
 printf("Fin de l'exécution, au revoir \n");
  
  
  
  return 0;
}


